package xyz.ssf.cloud.project.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

/**
 * 角色实体类
 */
@Data
public class SysRole implements Serializable {
    
    private static final long serialVersionUID = 1L;

    /** 角色ID */
    private Long id;
    
    /** 角色名称 */
    private String roleName;
    
    /** 角色编号 */
    private String roleCode;
    
    /** 角色状态（0正常 1停用） */
    private String roleStatus;
    
    /** 显示顺序 */
    private Integer sorted;
    
    /** 创建者 */
    private String createBy;
    
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    
    /** 更新者 */
    private String updateBy;
    
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    
    /** 备注 */
    private String remark;
    
    /** 菜单ID列表 */
    private Set<Long> menuIds;
    
    public boolean isAdmin() {
        return isAdmin(this.id);
    }
    
    public static boolean isAdmin(Long id) {
        return id != null && 1L == id;
    }
} 